package org.jackysoft.service;

import java.util.Collection;

import org.jackysoft.entity.Department;
import org.jackysoft.entity.DepartmentType;
import org.jackysoft.entity.Role;
import org.jackysoft.entity.User;
import org.jackysoft.entity.WorkflowSettingPK;
import org.jackysoft.google.collection.ZTreeNode;
import org.springframework.dao.DataAccessException;


/**
 * 业务service,为了处理跨项目之间业务类的处理
 * */
public interface ComponentService {

		
	/**
	 * 
	 */
	public Collection<ZTreeNode> getZTreeNodes(Department bean, Role role,
			WorkflowSettingPK settingId) throws DataAccessException;
	
	public Collection<ZTreeNode> getZTreeNodes(Department bean, Collection<DepartmentType> dtypes) throws DataAccessException;
	
	public Collection<ZTreeNode> getZTreeNodes(Department bean) throws DataAccessException;

	/**
	 * 彻底删除用户并删除用户所关联的业务信息
	 * */
	void deleteUser(User user) throws DataAccessException;	

}